pandas 去掉/保留重复行 |
您所在的位置:网站首页 › python pandas去重复行 › pandas 去掉/保留重复行 |
应用场景: 假如我们有如下的一个数据集,6行4列。 此时,我们3个想法。 第一个想法:把所有重复的行去掉 第二个想法:只保留第一次出现的重复行 第三个想法:保留最后一次出现的重复行 这三个想法都可以用pandas中自带一个方法实现。 DataFrame.drop_duplicates() 具体实现如下: import pandas as pd newdata=pd.DataFrame([[1,1,1,1],[1,1,1,1],[2,1,4,3],[5,6,7,9],[5,4,2,1],[2,1,4,9]],columns=['A','B','C','D']) newdata.drop_duplicates(subset=['A','B','C','D'],keep=False)上面这一句代码就是把所有重复的行去掉,subset这个参数后面我会提到,keep这个参数就是选择我们前面三个想法中的哪一个? 当keep=False时,就是去掉所有的重复行 当keep=‘first’时,就是保留第一次出现的重复行 当keep='last’时就是保留最后一次出现的重复行。(注意,这里的参数是字符串) 可以看到,第0行和第1行都被去掉了。 newdata.drop_duplicates(subset=['A','B','C','D'],keep='first')可以看到,第1行被去掉,保留了第0行。当keep='last’时这里就不演示了。 下面讲一下subset这个参数。 在上面的场景中,我们对重复的定义是:在某一行,若A、B、C、D这四列如果都相同的话就是重复。 但是有时候,我们重复并不需要所有列都相同,我们只需要其中的某几列相同就可以当作重复。因此subset这个参数就是来设置这个的。 举个栗子,还是上面这个数据集,如果我们想把A列和B列中元素相同的行去掉,只保留第一次出现的行,要怎么做? 很简单, newdata.drop_duplicates(subset=['A','B'],keep='first')
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |